package java_learn.java_jinjie.Recursion;

import java.io.File;

/**
 * 练习:
 * 递归打印多级目录
 * 需求:
 * 遍历c:\\abc文件夹,及abc文件夹的子文件夹
 * 只要.java结尾的文件
 * c:\\abc
 * c:\\abc\\abc.txt
 * c:\\abc\\abc.java
 * c:\\abc\\a
 * c:\\abc\\a\\a.jpg
 * c:\\abc\\a\\a.java
 * c:\\abc\\b
 * c:\\abc\\b\\b.java
 * c:\\abc\\b\\b.txt
 *
 * @Author: 李浩然
 * @Date: 2021/1/1 6:59 下午
 */
public class Demo02Recur {
    public static void main(String[] args) {
        File file = new File("/Users/lihaoran/Desktop/project/IdeaProjects/java-blockchain/java_learn/src/main/java/java_learn/java_jinjie/IO");
        getAllFile(file);
    }

    public static void getAllFile(File dir) {
        File[] files = dir.listFiles();
        for (File f : files) {
            if (f.isDirectory()) {
                getAllFile(f);
            } else {
                String name = f.getName();
                if (name.toLowerCase().endsWith(".java")) {
                    System.out.println(f.getName());
                }
            }
        }
    }
}
